package com.example.administrator.basedemos.activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;

import com.example.administrator.basedemos.R;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;

/**
 * 创建者     ZCL
 * 创建时间   2018/3/26 16:55
 * 描述	      ${TODO}
 * <p>
 * 更新者     $Author$
 * 更新时间   $Date$
 * 更新描述   ${TODO}
 */

public class MyJSActivity extends AppCompatActivity {
    @BindView(R.id.my_web)
    WebView mMyWeb;
    private Unbinder mBind;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_js);
        mBind = ButterKnife.bind(this);

        WebSettings settings = mMyWeb.getSettings();
        settings.setJavaScriptEnabled(true); //允许在WebView中使用js
        mMyWeb.loadUrl("需要对接的网页");

        //桥接好给h5调用
        mMyWeb.addJavascriptInterface(new Jss(),"androidzcl");

        //用网页中的JS，注意函数名要与JS中一致。
        mMyWeb.loadUrl("javascript:settitle(8)");

    }
    /***
     * JS方法:
     function settitle(prices){
     alert("即将要修改价格了");
     $('.num ,.cr').text(prices);
     }
     */


    /**
     * 写一个login方法给h5调用  记得方法必须加@JavaScripInterface
     * @JavascriptInterface andorid4.2（包括android4.2）以上，如果不写该注解，js无法调用android方法

     *  启动支持js: WebSettings settings = mMyWeb.getSettings();
     *   settings.setJavaScriptEnabled(true); //允许在WebView中使用js
     *
     *   给webView添加JS接口类，封装原生的操作。第二个参数是JS中的实体类。
     *   webView.addJavascriptInterface(new Jss(), "androidzcl");
     *   Ｈ５页面中见到androidzcl就会到JsInterface()类中找相应的方法。
     *
     * H5页面中ＪＳ调用。
     * functionappSelectPic() {
     * javascript:androidzcl.login();
     *
     */
    public class Jss {
        @JavascriptInterface
        public void login() {
            Intent intent = new Intent(MyJSActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mBind.unbind();
    }
}
